Kindly Restart and Run all the cells

Loading the libraries and dataset¶

In [1]:
import pandas as pd
import numpy as np

import seaborn as sn
import plotly.express as px
import plotly.offline as pyo
import matplotlib.pyplot as plt
In [2]:
imdb = pd.read_csv('imdb.csv')
imdb.head(5)
Out[2]:
id name year rating certificate duration genre votes gross_income directors_id directors_name stars_id stars_name description
0 tt0118708 Beverly Hills Ninja (1997) 5.5 PG-13 88 min Action, Comedy 41511 31,235,710 nm0240797 Dennis Dugan nm0000394,nm0001733,nm0795225,nm0662511 Chris Farley,Nicollette Sheridan,Robin Shou,Na... A man tries to rescue a woman with a little he...
1 tt1789846 Monster High: New Ghoul at School (2010 TV Movie) 6.7 TV-Y7 23 min Animation, Fantasy 567 11,000 nm0655637,nm0705779 Audu Paden,Eric Radomski nm1512156,nm1086483,nm0220635,nm1154161 Kate Higgins,Salli Saffioti,Debi Derryberry,La... Frankie Stein begins at Monster High and follo...
2 tt12204610 The Killer in the Guest House (2020 TV Movie) 5.3 TV-14 85 min Thriller 234 132,863 nm1046827 Tony Dean Smith nm0387581,nm4785386,nm2254636,nm5512848 Chelsea Hobbs,Marcus Rosner,Matthew Kevin Ande... A struggling fashion photographer unknowingly ...
3 tt6708668 Black Crab (2022) 5.6 TV-MA 114 min Action, Adventure, Drama 18,616 31,153,464 nm3515833 Adam Berg nm0636426,nm1939580,nm1502469,nm4558335 Noomi Rapace,Jakob Oftebro,Dar Salim,Erik Enge In a post-apocalyptic world, six soldiers on a...
4 tt0453533 Unrest (I) (2006) 5.0 R 88 min Horror, Thriller 8,066 215,300 nm1118463 Jason Todd Ipson nm0257598,nm1404049,nm1130845,nm0662475 Corri English,Scot Davis,Joshua Alba,Marisa Pe... A young pathology med student suspects that th...
In [3]:
imdb.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20789 entries, 0 to 20788
Data columns (total 14 columns):
 #   Column          Non-Null Count  Dtype  
---  ------          --------------  -----  
 0   id              20789 non-null  object 
 1   name            20789 non-null  object 
 2   year            20789 non-null  object 
 3   rating          20789 non-null  float64
 4   certificate     20789 non-null  object 
 5   duration        20789 non-null  object 
 6   genre           20789 non-null  object 
 7   votes           20789 non-null  object 
 8   gross_income    20789 non-null  object 
 9   directors_id    20789 non-null  object 
 10  directors_name  20789 non-null  object 
 11  stars_id        20789 non-null  object 
 12  stars_name      20789 non-null  object 
 13  description     20789 non-null  object 
dtypes: float64(1), object(13)
memory usage: 2.2+ MB

Data Cleaning¶

In [4]:
imdb.isnull().sum()
Out[4]:
id                0
name              0
year              0
rating            0
certificate       0
duration          0
genre             0
votes             0
gross_income      0
directors_id      0
directors_name    0
stars_id          0
stars_name        0
description       0
dtype: int64

1. How many different Genre of Movies are there in this dataset?¶

A. Unique Genre's Pairs Count

In [5]:
imdb['genre'].nunique()
Out[5]:
919

B. Unique Genre's Count

In [6]:
Genre = set()                     # Set to store unique elements only

# Store unique genre to Genre set()
for gre in imdb['genre']:
    l = gre.replace(',','').split()
    for item in l:
        Genre.add(item)
len(Genre)
Out[6]:
26
  • There are 919 unique Genre's Pairs,
  • There are 26 unique Genre in the datasets.

2. Find the most voted Movie in the dataset¶

Convert Vote data type from object to Integer

In [7]:
vote = []

for value in imdb['votes']:
    vote.append(int(value.replace(',','')))      # Replace comma with empty space and change data type to integer

imdb['votes'] = vote
imdb['votes'].dtype
Out[7]:
dtype('int64')
Approach :1¶
In [8]:
imdb.sort_values(['votes'],ascending=False)[['name','votes']][:3]
Out[8]:
name votes
11722 The Dark Knight 2574832
7374 Inception 2284273
20215 Pulp Fiction 1995361
Approach :2¶
In [9]:
Max = imdb['votes'].max()
imdb[imdb['votes'] == Max][['name']]
Out[9]:
name
11722 The Dark Knight

The highest voted movies in dataset is The Dark Knight

3. Which Genre is having most number of Movies in the dataset?¶

A. Movies Count w.r.t unique Genre's Pairs

Approach : 1¶
In [10]:
imdb.groupby('genre', as_index=False).count().sort_values(by = 'name',ascending=False)[['genre','name']].head(3)
Out[10]:
genre name
43 Action, Crime, Drama 741
456 Crime, Drama, Thriller 527
441 Crime, Drama 466
Approach :2¶
In [11]:
imdb.groupby('genre').size().sort_values(ascending=False).reset_index(name='Movies_counts').head(3)
Out[11]:
genre Movies_counts
0 Action, Crime, Drama 741
1 Crime, Drama, Thriller 527
2 Crime, Drama 466

B. Movies Count w.r.t unique Genre

In [12]:
# Create a dictionary with unique Genre key and 0  as values
GENRE ={}
for gr in Genre:
    GENRE[gr] = 0

# Add the count to values of respective GENRE key
for gre in imdb['genre']:
    l = gre.replace(',',' ').split()
    for gr in l:
        GENRE[gr] +=1

# Create Dataframe from GENRE dictionary key and values
Genres = pd.DataFrame(list(zip(GENRE.keys(), GENRE.values())),columns =['Genre', 'Movies_Counts'])
In [13]:
Genres.sort_values('Movies_Counts', ascending=False).head()
Out[13]:
Genre Movies_Counts
12 Drama 9928
14 Action 5508
0 Crime 5444
15 Comedy 4901
24 Thriller 4299
For unique Genre's Pairs¶
  • The most number of movies in Action, Crime, Drama Genre's pairs i.e 741.
For unique Genre¶
  • Drama has highest movies counts of 9928.

4. Find the Disctribution of number of movies in each genre with bar graph¶

A. Movies counts with respect to unique Genre's pairs

In [14]:
# Adjust the size and view of plot
plt.figure(figsize=(12,5), dpi=523)                                   

# Quick bar plot with pandas
imdb.genre.value_counts()[:25].plot(kind='bar', color = 'g')          

# Set horizontal grid lines
plt.grid(True, axis = 'y',                                            
         color = 'gray', 
         linestyle = '--',  
         linewidth=0.2) 
# Remove vertical grid lines
plt.grid(False, axis = 'x')      

# Remove boundry line, set Offset & trim the corner
sn.despine(offset=10, trim= True)  

# Rotate the x tick value by 90 degree
plt.xticks(rotation = 90)                                             

plt.xlabel("Top 25 Genre's Pairs", fontsize = 13)                           # Set X label         
plt.ylabel("Movies Count", fontsize = 11)                                   # Set Y label
plt.title("Top 25 Genre's Pairs w.r.t Movies counts", fontsize = 15)        # Set title
plt.show()
In [15]:
fig =px.bar(imdb[['genre']].value_counts().reset_index(name='Movies Counts')[:25],
            x= 'genre',
            y= 'Movies Counts',
            labels= {'genre':"Genre's Pairs"},
            template='plotly_dark',
            title="<b> Top 25 Genre's Pairs w.r.t Movies counts")

fig.show()

pyo.plot(fig, filename = "Plotly/Top 25 Genre's Pairs w.r.t Movies counts.html", auto_open = True)
Action, Crime, DramaCrime, Drama, ThrillerCrime, DramaDrama, ThrillerHorrorCrime, Drama, MysteryAction, Adventure, ComedyWesternThrillerAction, Comedy, CrimeHorror, ThrillerAction, Crime, ThrillerAnimation, Adventure, ComedyAction, Adventure, DramaComedy, Crime, DramaBiography, DramaDrama, WarHorror, Mystery, ThrillerDrama, Mystery, ThrillerComedy, CrimeDocumentary, MusicAction, ThrillerAction, Adventure, Sci-FiAnimation, Action, AdventureCrime, Drama, Film-Noir0100200300400500600700
Top 25 Genre's Pairs w.r.t Movies countsGenre's PairsMovies Counts
plotly-logomark
Out[15]:
"Plotly/Top 25 Genre's Pairs w.r.t Movies counts.html"

B. Movies Counts for unique Genre

In [16]:
# Adjust the size and view of plot
plt.figure(figsize=(15,5), dpi=523)                                       
#sn.set_style('whitegrid') 

# Seaborn Bar plot
sn.barplot(data = Genres.sort_values('Movies_Counts', ascending=False),   
           x='Genre',
           y = 'Movies_Counts',
           palette= "crest_r"#'plasma'
          )     


# Set horizontal grid lines
plt.grid(True, axis = 'y',                                                 
         color = 'gray', 
         linestyle = '--',  
         linewidth=0.2
        ) 
# Remove vertical grid lines
plt.grid(False, axis = 'x')                                   

# Remove boundry line, set Offset & trim the corner
sn.despine(offset=10, trim=False)

# Rotate the x tick value by 90 degree for better view
plt.xticks(rotation = 90)                                     

plt.xlabel("Genre", fontsize = 13)                             # Set X label         
plt.ylabel("Movies Count", fontsize = 11)                      # Set Y label
plt.title('Movies counts as per Genre', fontsize = 16)         # Set title
plt.show()
In [17]:
fig =px.bar(Genres.sort_values('Movies_Counts', ascending=False),
            x= 'Genre',
            y= 'Movies_Counts',
            template='plotly_dark',
            color_discrete_sequence = px.colors.qualitative.Dark2,
            title='<b>Movies counts as per Genre')

fig.show()

pyo.plot(fig, filename = "Plotly/Movies counts as per Genre.html", auto_open = True)
DramaActionCrimeComedyThrillerAdventureHorrorMysteryRomanceBiographyFantasySci-FiMusicAnimationDocumentaryFamilyWarWesternSportHistoryFilm-NoirShortMusicalNewsReality-TVGame-Show02k4k6k8k10k
Movies counts as per GenreGenreMovies_Counts
plotly-logomark
Out[17]:
'Plotly/Movies counts as per Genre.html'

5. Plot top 10 Movies with maximum Gross-Income with Bar Graph¶

Convert "gross_income" data type from object to Integer¶
In [18]:
gross = []
for income in imdb['gross_income']:
    income = income.replace(',','')                  # Replace comma with whitespace
    try:
        gross.append(int(income))                    # Convert to int and add to the list
    except:
        income = income.replace('$','')              # Replace $ symbol with empty space
        income = income.replace('M','')              # Replace M (i.e Million) with empty space
        inc = float(income)*(10**6)                  # Convert to float and Multiply by 1Million(10**6)
        gross.append(int(inc))                       # Convert to integer and append in the existing list

imdb['gross_income'] = gross       # Repllace the existing gross_income column with newly gross list in existing dataframe
imdb['gross_income'].dtypes        # Check the data type of gross_income column
Out[18]:
dtype('int64')
In [19]:
df = imdb.sort_values('gross_income')[['name','gross_income']].sort_values(by = 'gross_income',ascending=False)[:10]
In [20]:
# Adjust the size and view of plot
plt.figure(figsize=(15,5), dpi=523)                                       
#sn.set_style('whitegrid') 

# Set Y limit value 
plt.ylim(600000000, 950000000)                               

# Seaborn Bar plot
sn.barplot(x=df.name.values,           
           y=df.gross_income.values,
           data=df,
           #color = 'green',
           palette= "crest_r"
          )  


# Set horizontal grid lines
plt.grid(True, axis = 'y',                                                 
         color = 'gray', 
         linestyle = '--',  
         linewidth=0.2
        ) 
# Remove vertical grid lines
plt.grid(False, axis = 'x')                                   

# Remove boundry line, set Offset & trim the corner
sn.despine(offset=10, trim=False)

# Rotate the x tick value by 90 degree for better view
plt.xticks(rotation = 90)                                     

plt.xlabel("Movies Name", fontsize = 13)                             # Set X label         
plt.ylabel("Gross income (10^8)", fontsize = 11)                     # Set Y label
plt.title('Top 10 Movies by Gross income', fontsize = 15)            # Set title
plt.show()
In [21]:
df = imdb.sort_values('gross_income')[['name','gross_income']].sort_values(by = 'gross_income',ascending=False)[:10]

fig =px.bar(df,
            x       = 'name',
            y       = 'gross_income',
            color   = 'name',
            labels  = {'name': 'Movies Name'},
            color_discrete_sequence = px.colors.qualitative.Dark2,
            template='plotly_dark',
            title   ='<b> Top 10 Movies by Gross-income'
           )

fig.show()
pyo.plot(fig, filename = "Plotly/Top 10 Movies by Gross-income.html", auto_open = True)
Star Wars: Episode VII - The Force AwakensAvengers: EndgameSpider-Man: No Way HomeUnchartedThe Lost CityDon't Look UpAvatarThe Green KnightBlack PantherAvengers: Infinity War00.2B0.4B0.6B0.8B
Movies NameStar Wars: Episode VII - The Force AwakensAvengers: EndgameSpider-Man: No Way HomeUnchartedThe Lost CityDon't Look UpAvatarThe Green KnightBlack PantherAvengers: Infinity War Top 10 Movies by Gross-incomeMovies Namegross_income
plotly-logomark
Out[21]:
'Plotly/Top 10 Movies by Gross-income.html'

6. Whats the average duration of a movie in each genre in ascending order?¶

Remove 'Min' from imdb['duration']and convert the data type to integer

In [22]:
time = []
for t in imdb['duration']:
    T = t.replace(',','').split()           # Replace comma with whitespaces and split     
    try :
        time.append(int(T[0]))              # Add the integer value to the list
    except:
        print(t)

imdb['duration'] = time                     # Replace the existing duration with newly created list
imdb['duration'].dtypes                     # Check the data type
Out[22]:
dtype('int64')

A. For Unique Genre's Pairs

In [23]:
df = imdb.groupby('genre', as_index=False)[['duration']].mean().sort_values(by = 'duration',ascending=True)
df.head(5)
Out[23]:
genre duration
600 Documentary, Short, Action 1.0
869 Short, Comedy, Fantasy 3.0
298 Animation, Short, Music 3.0
864 Short, Biography, Comedy 3.0
857 Short, Action, Fantasy 3.0

B. For single Genre

In [24]:
Duration ={}

# Create a Dictionary with empty list
for gr in Genre:                                         
    Duration[gr] = []

# Add movies duration time for each Genre respectively     
for i in range(imdb.shape[0]):                             
    l = imdb.genre.iloc[i].replace(',',' ').split()           # Replace comma and split
    for gr in l:
        Duration[gr].append(imdb.duration[i])                # Add all the movie duration for the respective Genre


# Replace the existing Duration list with the mean Duration time
for key in Duration.keys():                             
    Duration[key] = sum(Duration[key])/len(Duration[key])

# Canvert the Dictionary to DataFrame
DURATION = pd.DataFrame(list(zip(Duration.keys(), Duration.values())),columns =['Genre', 'Durations'])

# Add DURATION to the existing Genres DataFrame as Avg_Duration
Genres['Avg_Duration'] = DURATION['Durations']
In [25]:
Genres.sort_values('Avg_Duration', ascending=True)[['Genre','Avg_Duration']]
Out[25]:
Genre Avg_Duration
1 Short 16.871595
9 Animation 78.081154
3 News 78.083333
8 Game-Show 85.000000
25 Film-Noir 88.260586
13 Horror 93.198355
11 Family 93.464522
4 Western 96.052500
15 Comedy 96.276678
22 Reality-TV 98.666667
7 Sci-Fi 98.919723
19 Fantasy 99.555921
16 Adventure 100.718882
24 Thriller 100.723889
5 Mystery 100.821799
18 Documentary 100.858595
23 Music 102.326308
0 Crime 102.869214
6 Sport 103.804613
2 Romance 105.266848
14 Action 105.594590
12 Drama 106.126511
20 War 107.430716
10 Biography 109.628390
21 Musical 110.493590
17 History 116.873188
In [26]:
fig =px.bar(Genres.sort_values('Avg_Duration', ascending=True)[['Genre','Avg_Duration']],
            x= 'Genre',
            y= 'Avg_Duration', 
            labels={'Genre':'Genre'},
            color = 'Genre',
            color_discrete_sequence = px.colors.sequential.Viridis,
            template='plotly_dark',
            title='<b> Average Movies duration (in Minutes) w.r.t. Genre')

fig.show()
pyo.plot(fig, filename = "Plotly/Average Movies duration (in Minutes) w.r.t. Genre.html", auto_open = True)
ShortAnimationNewsGame-ShowFilm-NoirHorrorFamilyWesternComedyReality-TVSci-FiFantasyAdventureThrillerMysteryDocumentaryMusicCrimeSportRomanceActionDramaWarBiographyMusicalHistory020406080100120
GenreShortAnimationNewsGame-ShowFilm-NoirHorrorFamilyWesternComedyReality-TVSci-FiFantasyAdventureThrillerMysteryDocumentaryMusicCrimeSportRomanceActionDramaWarBiographyMusicalHistory Average Movies duration (in Minutes) w.r.t. GenreGenreAvg_Duration
plotly-logomark
Out[26]:
'Plotly/Average Movies duration (in Minutes) w.r.t. Genre.html'

With respect to Unique Genre's Pairs¶

  • The average time duration of a movie is minimum in Documentary, Short, Action Genres Pairs of mean 1 Minute only.
  • The maximum in Action, Family, Horror Genres Pairs of 265 Minutes.

With respect to Unique Genre¶

  • The average time duration of a movie is minimum in Short Genre of mean 16.8716 Minute only.
  • The maximum in History Genre of 116.8732 Minutes.

7. Which Genre is the best to make a movie to get maximum gross income?¶

A. For unique Genre's Pairs

In [27]:
df = imdb.groupby(['genre'], as_index=False)[['gross_income']].mean().sort_values(by = 'gross_income',ascending=False)
df.head()
Out[27]:
genre gross_income
809 Music, Romance, Sci-Fi 2.097260e+08
14 Action, Adventure, Sci-Fi 1.164601e+08
76 Action, Family, Sport 1.151040e+08
236 Animation, Adventure, Comedy 8.432863e+07
270 Animation, Drama, War 8.405276e+07

B. For Single Genre

In [28]:
Income ={}

# Create a Dictionary with empty list
for gr in Genre:                                         
    Income[gr] = []

# Add movies Gross Income for each Genre respectively in a list    
for i in range(imdb.shape[0]):                             
    l = imdb.genre.iloc[i].replace(',',' ').split()    # Replace the comma and split
    for gr in l:
        Income[gr].append(imdb.gross_income[i])        # Add all the gross_income for their respectly unique Genre


# Replace with existing Gross Income list with the mean of Gross Income
for key in Income.keys():                             
    Income[key] = sum(Income[key])/len(Income[key])

# Canvert the Dictionary to DataFrame
Incomes = pd.DataFrame(list(zip(Income.keys(), Income.values())),columns =['Genre', 'Avg_gross_income'])

# Add Gross Income to the existing Genres DataFrame
Genres['Avg_gross_income'] = Incomes['Avg_gross_income']
In [29]:
Genres.sort_values(['Avg_gross_income'],ascending=False).head(3)
Out[29]:
Genre Movies_Counts Avg_Duration Avg_gross_income
16 Adventure 3543 100.718882 3.818729e+07
9 Animation 1109 78.081154 3.551142e+07
7 Sci-Fi 1445 98.919723 3.128869e+07
In [30]:
# Adjust the figure size and view
plt.figure(figsize=(13,5),dpi=523)                           

# Seaborn Bar plot
sn.barplot(x='Genre',                                        
           y='Avg_gross_income',
           data=Genres,
           order = Genres.sort_values(['Avg_gross_income'],ascending=False)['Genre'].values,
           #color = 'green',
           palette= "crest_r"
          )

# Remove boundry line,set offset at corner & trim the corner
sn.despine(offset=10, trim= True)                              

# Rotate the x tick value by 90 degree for better view
plt.xticks(rotation = 90)              

plt.xlabel("Genre", fontsize = 13)                                    # Set X label         
plt.ylabel("Gross income (10^7)", fontsize = 11)                      # Set Y label
plt.title('Mean Gross Income w.r.t to Genre', fontsize = 15)          # Set title
plt.show()
In [31]:
Genres[Genres['Avg_gross_income']==Genres['Avg_gross_income'].max()]
Out[31]:
Genre Movies_Counts Avg_Duration Avg_gross_income
16 Adventure 3543 100.718882 3.818729e+07

With respect to unique Genre's Pairs :¶

  • Music, Romance, Sci-Fi is the best genre pairs to make highest Gross income.

With respect to unique Genre :¶

  • Adventue is the best genre to make highest gross income.

8. Which Genre is the worst to make money from a movie?¶

A. For unique Genre's Pairs

In [32]:
df = imdb.groupby(['genre'], as_index=False)[['gross_income']].mean().sort_values(by = 'gross_income',ascending=False)
df.tail()
Out[32]:
genre gross_income
257 Animation, Comedy, Sci-Fi 1469.0
796 Horror, Thriller, Fantasy 1027.0
860 Short, Adventure 866.0
85 Action, History, Horror 438.0
732 Family, Mystery, Fantasy 181.0

B. For unique Genre

In [33]:
fig =px.bar(Genres.sort_values(['Avg_gross_income'],ascending = True),
            x= 'Genre',
            y= 'Avg_gross_income', 
            labels={'Genre':'Genre'},
            color  = 'Genre',
            color_discrete_sequence = px.colors.sequential.Cividis_r,
            template='plotly_dark',
            title='<b> Average Gross Income w.r.t. to Genre')

fig.show()
pyo.plot(fig, filename = "Plotly/Average Gross Income w.r.t. to Genre.html", auto_open = True)
NewsGame-ShowReality-TVDocumentaryFilm-NoirShortWesternWarMusicRomanceHorrorBiographySportCrimeDramaHistoryMysteryThrillerMusicalComedyFamilyActionFantasySci-FiAnimationAdventure05M10M15M20M25M30M35M40M
GenreNewsGame-ShowReality-TVDocumentaryFilm-NoirShortWesternWarMusicRomanceHorrorBiographySportCrimeDramaHistoryMysteryThrillerMusicalComedyFamilyActionFantasySci-FiAnimationAdventure Average Gross Income w.r.t. to GenreGenreAvg_gross_income
plotly-logomark
Out[33]:
'Plotly/Average Gross Income w.r.t. to Genre.html'
In [34]:
Genres[Genres['Avg_gross_income']==Genres['Avg_gross_income'].min()]
Out[34]:
Genre Movies_Counts Avg_Duration Avg_gross_income
3 News 12 78.083333 561811.75

With respect to unique Genre's Pairs :¶

  • Family, Mystery, Fantasy is the worst genre pairs with respect to average gross income.

With respect to unique Genre :¶

  • News is the worst genre with respect to average gross income.

9. Distribution of Average Gross Income of each genre?¶

A. unique Genre's Pairs

In [35]:
# Adjust the figure size and view
plt.figure(figsize=(12,5), dpi=223)

#  Average Gross Income distribution plot
sn.histplot(data = imdb.groupby('genre')[['gross_income']].mean(),
            #bins = 26,
            stat = 'count',                                 
            kde = True,
            log_scale=10,
           )

# Remove boundry line,set offset at corner & trim the corner
sn.despine(offset=10, trim= False)                            

plt.xlabel("Average Gross Income", fontsize = 11)                                  # Set X label         
plt.title("Average Gross Income Ditribution w.r.t Genre's Pairs", fontsize = 13)   # Set title
plt.show()
In [36]:
fig =px.scatter(imdb,
                x= 'name',
                y= 'gross_income',
                labels={'name':'Movies'},
                size='gross_income',
                size_max= 35,
                color = 'genre',
                color_discrete_sequence = px.colors.sequential.Plasma,
                opacity=0.8,
                template='plotly_dark',
                title="<b> Average Gross Income Ditribution w.r.t Genre's Pairs")

fig.update_layout(autosize=True,
                  height=800,
                  xaxis=dict(showgrid=False),
                  yaxis=dict(showgrid=False)
                 )

fig.show()
pyo.plot(fig, filename = "Plotly/Average Gross Income Ditribution w.r.t Genre's Pairs.html", auto_open = True)
Beverly Hills NinjaThe HusbandAfter DarkThe Kindergarten TeacherCaponeWho Am I?OffsideZAnimal FactoryOcean's EightMiddle MenShangri-La SuiteTemperWhirlpoolHouseKaikki pelissäThe GardenerSpider-Man: Far from HomeBlind HorizonBlack GunnThe Girl in Room 2AGet the GriftNight in New OrleansA Beautiful Day in the NeighborhoodFury of the WolfmanCuban FuryTough EnoughThe Final GirlsJoe DakotaHerbie Rides AgainColor of NightHalloweenThe Bacon HairThe ShadowBrothelIncheon sangryuk jakjeonI Am WrathPrimerDreadMassage Parlor Murders!The Ox-Bow IncidentFreetownDrums Along the Mohawk9 Miles DownWah Do DemSpecialOver the TopWe Were StrangersHome TeamSound of NoiseIce Cold in AlexPerfume: The Story of a Murderer艾蜜莉夜夜Krishna CottageEvil Toons00.2B0.4B0.6B0.8B1B
genreAction, ComedyAnimation, FantasyThrillerAction, Adventure, DramaHorror, ThrillerDrama, ThrillerBiography, Crime, DramaAction, Adventure, ComedyDrama, WarComedy, Drama, SportCrime, Drama, ThrillerCrime, DramaAction, Comedy, CrimeComedy, Crime, DramaAction, Crime, DramaDrama, MusicalComedy, Drama, MusicCrime, Drama, Film-NoirAnimation, Adventure, ComedyComedy, HorrorAdventure, DramaHorror, Sci-Fi, ThrillerComedy, Crime, MysteryCrime, Drama, RomanceComedy, WesternDrama, SportAction, DramaMystery, ThrillerAction, WesternAction, Adventure, Sci-FiAdventure, Comedy, FamilyComedy, Drama, MysteryDocumentary, BiographyDrama, Mystery, ThrillerSportDrama, History, RomanceAction, Crime, ThrillerCrime, ThrillerHorror, Mystery, ThrillerDrama, Fantasy, HorrorComedy, CrimeHorror, Sci-FiDrama, MusicCrime, Drama, MysteryAnimation, DramaBiography, DramaHorrorCrime, MysteryComedy, Horror, ThrillerComedy, Drama, MusicalMystery, Sci-Fi, ThrillerComedy, Romance, SportHorror, Thriller, WesternAdventure, Drama, FamilyAction, Comedy, RomanceHorror, MysteryComedy, Fantasy, RomanceDocumentary, SportThriller, HorrorAction, Drama, RomanceBiography, Drama, RomanceAction, Comedy, HorrorComedy, Drama, FantasyAdventure, Family, FantasyWesternAdventure, Drama, MysteryAction, Horror, Sci-FiCrime, Film-Noir, MysteryAdventure, Fantasy, RomanceFantasy, Horror, Sci-FiAdventure, Horror, ThrillerComedy, MusicComedy, Crime, ThrillerComedy, Family, FantasyDrama, Romance, WesternComedy, Drama, WarAction, Drama, Sci-FiAction, Drama, FantasyDrama, MysteryAction, Adventure, ThrillerDrama, Mystery, RomanceDocumentary, Action, AdventureDocumentary, MusicDrama, FantasyAdventure, RomanceCrime, Drama, MusicAdventure, FamilyDrama, HistoryCrime, Horror, ThrillerDrama, Romance, ThrillerAction, Sport, ThrillerDrama, History, WarAction, Drama, WarComedy, Mystery, Sci-FiAdventure, Drama, Sci-FiAction, Sci-FiAnimation, Action, AdventureAdventure, ThrillerComedy, Mystery, RomanceAction, CrimeDrama, Thriller, WarAction, Adventure, FamilyAdventure, Comedy, Sci-FiDrama, Thriller, WesternAdventure, Crime, MysteryCrime, Drama, Sci-FiFantasy, HorrorAction, Adventure, CrimeAction, Comedy, DramaDocumentary, CrimeAction, Sci-Fi, ThrillerAction, Crime, MysteryAction, Mystery, RomanceAdventureAnimation, Drama, MusicDrama, HorrorDrama, Music, RomanceBiography, Drama, MusicComedy, FantasyAction, Comedy, ThrillerFamily, Fantasy, HorrorAdventure, ActionAction, Drama, HistoryCrimeComedy, Music, RomanceAction, Horror, MysteryDocumentary, Biography, MusicAnimation, Action, DramaAction, ThrillerAnimation, Drama, FamilyAdventure, Biography, DramaDocumentary, Action, ComedyAnimation, Music, MusicalDrama, Horror, MysteryComedy, Fantasy, HorrorMystery, Romance, ThrillerAction, Romance, SportDrama, Sci-Fi, ThrillerAdventure, Comedy, CrimeAction, Adventure, FantasyAction, Crime, HorrorComedy, Sci-FiAction, WarDrama, Horror, ThrillerBiography, Comedy, CrimeAdventure, Fantasy, MysteryCrime, Romance, ThrillerDocumentary, Action, BiographyComedy, MysteryAdventure, Crime, DramaMusicActionCrime, Mystery, ThrillerDocumentary, Animation, ShortBiography, Drama, SportDocumentary, Biography, HistoryAnimation, Adventure, FamilyDrama, Horror, Sci-FiDrama, WesternAction, Romance, ThrillerComedy, MusicalComedy, Family, SportAnimation, Comedy, FamilyAnimation, Adventure, DramaBiography, Comedy, DramaDrama, Sci-FiAnimation, Family, FantasyAction, Horror, ThrillerWarDrama, Mystery, Sci-FiAction, Drama, ThrillerAnimation, Drama, FantasyAdventure, Sci-FiAnimation, Action, FantasyDrama, Romance, Sci-FiAdventure, Drama, HorrorHorror, Music, MysteryAction, Comedy, Sci-FiDrama, Romance, WarAdventure, ComedyDrama, Family, SportDrama, Fantasy, RomanceDrama, Fantasy, MysteryComedy, Horror, MusicalCrime, Horror, MusicalAnimation, Short, ComedyDrama, Music, ThrillerComedy, Drama, RomanceComedy, Romance, WarHorror, Mystery, Sci-FiDocumentary, Crime, SportComedy, WarHorror, Romance, ThrillerAdventure, Comedy, RomanceDocumentary, Biography, ComedyDocumentary, Fantasy, HistoryComedy, Drama, FamilyDrama, Family, FantasyHistoryAdventure, Romance, ThrillerAdventure, Sci-Fi, ThrillerAnimation, Action, Sci-FiDocumentary, Biography, SportAnimation, Comedy, DramaCrime, Drama, SportFamily, Sci-FiCrime, HorrorAction, Adventure, RomanceBiography, Drama, WarAdventure, Comedy, DramaDrama, Romance, SportDrama, Fantasy, Sci-FiBiography, Comedy, RomanceDocumentary, Biography, DramaBiography, Drama, HistoryAdventure, Comedy, FantasyComedy, Drama, Sci-FiAdventure, Horror, Sci-FiAction, Comedy, FamilyDrama, Fantasy, HistoryAction, Biography, DramaAction, Adventure, BiographyComedy, ThrillerAnimation, FamilyFantasy, ThrillerDrama, Fantasy, MusicDrama, History, MusicAction, FantasyDrama, Musical, RomanceFamily, Fantasy, RomanceAnimation, Short, FamilyDocumentary, Horror, MysteryShort, Drama, MusicComedy, Crime, FamilyAction, Family, SportComedy, Crime, RomanceAdventure, Drama, ThrillerFantasy, Horror, ThrillerFamily, SportAction, RomanceFamily, Sci-Fi, ThrillerAction, Drama, FamilySci-Fi, HorrorDocumentary, Family, HistoryThriller, MysteryAction, Drama, SportAnimation, Action, CrimeDrama, History, ThrillerDrama, Family, MusicDrama, War, WesternComedy, Drama, HorrorComedy, Drama, ThrillerDocumentary, HistoryAction, Adventure, HorrorAction, Fantasy, ThrillerAction, Biography, CrimeDrama, History, HorrorSci-Fi, ThrillerDrama, Family, WesternDocumentary, WarAnimation, Action, ComedyBiography, Comedy, Sci-FiCrime, Thriller, ActionAdventure, Drama, RomanceAdventure, Drama, HistoryComedy, Musical, RomanceDrama, Film-Noir, MysteryFantasy, Mystery, Sci-FiCrime, Drama, HistoryMusic, Mystery, ThrillerAdventure, Documentary, ShortAction, AdventureFamily, Music, RomanceAnimation, Adventure, FantasyDocumentary, History, MusicAdventure, HorrorDrama, Horror, RomanceAction, Comedy, FantasyAnimation, Short, AdventureRomance, Comedy, DramaRomance, WesternComedy, Crime, HorrorComedy, SportCrime, Film-Noir, RomanceCrime, Horror, MysteryDocumentary, Short, WarAnimation, Fantasy, HorrorShort, ThrillerAction, Drama, CrimeAdventure, Family, WesternAction, History, ThrillerThriller, DramaAnimation, Mystery, ThrillerAction, Adventure, WesternBiography, Drama, FamilyComedy, Family, Sci-FiShort, Biography, ComedyAdventure, Family, Sci-FiComedy, Romance, ThrillerComedy, Family, MusicComedy, Mystery, CrimeFantasy, MusicAdventure, Drama, FantasyCrime, Drama, HorrorDrama, Horror, MusicCrime, Fantasy, HorrorAction, Crime, Sci-FiComedy, Romance, Sci-FiRomance, ThrillerComedy, Crime, MusicFantasy, RomanceFantasy, Horror, MysteryAnimation, Action, HorrorAdventure, Drama, WesternFamily, FantasyThriller, CrimeDocumentary, AdventureAdventure, Comedy, HorrorDrama, Film-Noir, ThrillerDocumentary, Action, DramaAction, Family, FantasyAction, Crime, FantasyDrama, Music, MysteryBiography, Drama, ThrillerAdventure, FantasyAction, Crime, MusicalAnimation, ShortComedy, Romance, WesternAction, Comedy, WesternAdventure, Comedy, MusicDrama, Fantasy, ThrillerCrime, Sci-FiAdventure, War, WesternShort, Action, ComedyMysteryAnimation, Comedy, FantasySci-FiDocumentary, Animation, BiographyHorror, Music, ThrillerAction, Romance, ComedyThriller, Drama, RomanceAdventure, WesternBiographyAction, Adventure, WarAction, Adventure, MysteryAction, Adventure, HistoryAction, Drama, HorrorAdventure, Drama, WarComedy, Horror, MysteryShort, Action, CrimeAction, Comedy, MusicShort, MusicFamily, Animation, ShortComedy, Horror, Sci-FiDocumentary, Crime, MysteryFamily, WesternAction, HorrorDrama, Crime, ActionAdventure, Comedy, WesternDocumentary, Short, BiographyAdventure, Crime, FantasyCrime, Mystery, RomanceDocumentary, Music, MusicalComedy, Drama, WesternDocumentary, Drama, MusicDocumentary, Crime, HorrorDocumentary, Comedy, MusicDrama, Mystery, WarDrama, Film-NoirAnimation, Sci-FiCrime, Horror, RomanceDocumentary, Biography, WarThriller, WarComedy, Mystery, ThrillerHorror, Romance, Sci-FiBiography, Crime, WesternAction, Adventure, Game-ShowAction, Fantasy, HorrorShort, Comedy, HorrorShort, Comedy, CrimeCrime, WesternDrama, Fantasy, WarAnimation, Comedy, CrimeAction, SportMusicalAdventure, Crime, ThrillerThriller, Crime, DramaRomance, Comedy, MusicalShort, FantasyDocumentary, Comedy, WarDocumentary, Horror, ThrillerDrama, History, WesternDocumentary, Short, SportRomance, Crime, ThrillerDocumentary, Music, WarBiography, Drama, FantasyDrama, Music, WarAnimation, Biography, DramaShort, WesternHorror, MusicalAnimationCrime, Fantasy, ThrillerShort, ActionDocumentary, ActionCrime, Drama, MusicalDrama, Romance, MusicDocumentary, Adventure, BiographyDocumentary, Crime, DramaDocumentary, AnimationCrime, Drama, FantasyDrama, Family, Sci-FiCrime, Drama, WarComedy, Action, DramaAdventure, Comedy, SportDrama, Sport, ThrillerComedy, Music, MusicalAction, Crime, MusicHorror, RomanceFantasy, Horror, ComedyAnimation, Comedy, MusicAction, Drama, MysteryDocumentary, Biography, CrimeComedy, Horror, MusicDrama, Horror, WesternAdventure, Comedy, MusicalShort, Comedy, FamilyAdventure, Horror, WesternShort, Adventure, DramaAction, Thriller, WesternAdventure, Mystery, Sci-FiBiography, WesternDrama, Film-Noir, RomanceFantasyComedy, Drama, HistoryFamily, Fantasy, MusicalShort, Action, AdventureThriller, War, WesternAction, Drama, MusicDocumentary, History, HorrorDocumentary, Comedy, DramaAdventure, Fantasy, Sci-FiDocumentary, Short, AdventureHorror, Comedy, MusicCrime, Mystery, DramaShort, Biography, DramaAction, Comedy, SportDrama, ActionWar, DramaFamily, Adventure, ComedyFilm-Noir, Mystery, RomanceAction, Crime, RomanceMusic, DramaDocumentary, Drama, NewsRomance, Sci-FiDocumentary, Biography, NewsAction, Comedy, WarDocumentary, MysteryAction, Thriller, WarFilm-Noir, ThrillerMystery, Thriller, WarAnimation, Fantasy, MusicAdventure, Family, DramaAdventure, Horror, MysteryDrama, Thriller, ActionThriller, WesternWar, WesternAdventure, Crime, Sci-FiAnimation, Short, ActionHorror, Thriller, Sci-FiHistory, Romance, WesternDrama, AdventureAction, Mystery, Sci-FiMusic, Sci-FiComedy, Horror, RomanceShort, AdventureAdventure, Family, ComedyComedy, Crime, MusicalShort, HorrorAction, Fantasy, AdventureCrime, Thriller, WesternFamily, Short, MusicAdventure, Family, HorrorDrama, War, RomanceDrama, Film-Noir, SportBiography, Drama, WesternAction, Sci-Fi, HorrorBiography, Drama, MysteryDrama, Horror, MusicalComedy, Music, MysteryAnimation, Drama, Sci-FiComedy, Adventure, FantasyAnimation, ComedyComedy, HistoryComedy, Crime, FantasyBiography, Drama, MusicalAdventure, Fantasy, DramaComedy, Musical, MysteryAction, Fantasy, RomanceComedy, Family, AdventureCrime, Drama, FamilyAnimation, Family, HistoryAnimation, Action, FamilyAction, Fantasy, Sci-FiDrama, Music, MusicalDocumentary, Animation, HistoryAnimation, Biography, CrimeAdventure, Comedy, HistoryDocumentary, Biography, MysteryAnimation, Short, HorrorShort, Action, SportAction, Drama, WesternComedy, Fantasy, Sci-FiMystery, WesternMusic, RomanceComedy, Adventure, WarCrime, Drama, WesternCrime, Mystery, Sci-FiDrama, Thriller, MysteryFantasy, Horror, RomanceDocumentary, History, SportDocumentary, Drama, RomanceAction, Romance, WesternDocumentary, Drama, Sci-FiAnimation, Comedy, Sci-FiAction, Family, Sci-FiAction, Horror, WesternAction, Mystery, ThrillerAction, Drama, Film-NoirDocumentary, Action, CrimeAdventure, Biography, WesternAction, Romance, Sci-FiAction, MusicBiography, Music, RomanceShort, Drama, ThrillerDocumentary, Biography, RomanceCrime, Fantasy, MysteryDrama, Family, MusicalAction, Music, RomanceBiography, ComedyAdventure, HistoryDocumentary, Biography, FamilyRomance, WarDrama, History, SportAnimation, Short, DramaHorror, Thriller, FantasyHorror, Musical, Sci-FiDocumentary, Action, HistoryDrama, History, MysteryAnimation, Sci-Fi, ThrillerAnimation, Adventure, HorrorAdventure, Comedy, MysteryAdventure, Fantasy, HorrorMystery, Romance, Sci-FiAdventure, Crime, HistoryDocumentary, Adventure, WesternDocumentary, Crime, HistoryCrime, Film-Noir, ThrillerDrama, Action, CrimeWestern, AdventureFilm-Noir, Horror, ThrillerComedy, Family, ThrillerDocumentary, Biography, ThrillerComedy, History, RomanceComedy, ActionAnimation, Short, FantasyAction, Drama, MusicalFamily, Horror, MysteryAdventure, Comedy, WarShort, Comedy, FantasyAction, Short, ComedyFamily, Music, MusicalAction, Sci-Fi, SportDocumentary, Drama, FamilyAnimation, Adventure, Sci-FiCrime, Horror, Sci-FiDocumentary, Drama, SportShort, Drama, FantasyDrama, Sci-Fi, WarComedy, Family, WesternComedy, Sci-Fi, FamilyAnimation, Crime, DramaDrama, Music, Sci-FiFamily, Comedy, AnimationDocumentary, HorrorAnimation, Comedy, MysteryFamily, Animation, ComedyShort, Adventure, FamilyCrime, History, ThrillerDrama, Family, HistoryFamily, Horror, Sci-FiCrime, Sci-Fi, ThrillerAction, Comedy, MysteryDocumentary, Adventure, NewsSci-Fi, WesternAdventure, Biography, ComedyCrime, Music, ThrillerAnimation, Fantasy, MysteryDrama, Music, CrimeDrama, Mystery, WesternShort, WarComedy, Crime, HistoryComedy, Family, RomanceAdventure, MysteryFantasy, Sci-FiAdventure, Thriller, WesternShort, Drama, SportAction, FamilyAdventure, Musical, FantasyMystery, RomanceShort, Animation, ComedyDocumentary, ThrillerAction, Biography, SportDrama, Family, WarAdventure, Drama, MusicDocumentary, Drama, WarFantasy, Horror, MusicShort, Comedy, DramaAction, Comedy, AdventureDocumentary, Drama, MysteryHorror, Mystery, RomanceAnimation, Adventure, CrimeComedy, Adventure, RomanceComedy, Music, SportFamily, Fantasy, MysteryComedy, Musical, ThrillerShort, Comedy, SportCrime, RomanceComedy, Family, MysteryDocumentary, Drama, HorrorAnimation, Drama, RomanceComedy, Crime, SportDocumentary, Comedy, CrimeDrama, CrimeAction, Music, ThrillerDocumentary, Action, SportComedy, Musical, DramaHorror, WarFamily, Comedy, FantasyRomance, Drama, WarComedy, Fantasy, MysteryComedy, Fantasy, ThrillerComedy, Sci-Fi, HorrorMystery, Romance, WesternShort, Fantasy, HorrorAction, Biography, ThrillerAnimation, Comedy, ShortComedy, Crime, Sci-FiCrime, Thriller, WarDrama, Action, AdventureAction, History, HorrorBiography, HorrorFamily, MusicFilm-Noir, Mystery, ThrillerAdventure, WarAdventure, Biography, WarComedy, Fantasy, MusicDocumentary, Adventure, DramaThriller, Action, CrimeAnimation, ThrillerDocumentary, Comedy, SportAdventure, Family, MusicComedy, Thriller, CrimeAction, Biography, WesternMusical, RomanceComedy, Horror, SportCrime, Horror, MusicDrama, Horror, WarCrime, Horror, WesternAdventure, CrimeDocumentary, History, WarRomance, Thriller, WarDrama, Music, SportBiography, Drama, HorrorAnimation, Drama, MysteryMusic, Reality-TVAdventure, Horror, RomanceDocumentary, Action, ThrillerAnimation, Fantasy, RomanceHorror, Thriller, WarDocumentary, Family, MysteryAdventure, Family, SportAdventure, Romance, WesternDocumentary, Music, NewsFantasy, Mystery, WesternAnimation, Horror, MysteryAnimation, Family, ShortComedy, War, WesternAdventure, Mystery, RomanceAdventure, Crime, ComedyFantasy, Mystery, ThrillerDrama, Sport, WarBiography, Family, SportDocumentary, Adventure, SportAction, Adventure, Film-NoirMystery, Sci-FiDocumentary, Adventure, RomanceDrama, Comedy, CrimeDocumentary, MusicalAction, Sci-Fi, WesternDrama, Fantasy, SportFamily, Fantasy, MusicHorror, CrimeComedy, Music, WarComedy, Family, MusicalFilm-Noir, Horror, MysteryFantasy, Mystery, RomanceAnimation, Horror, Sci-FiDocumentary, WesternCrime, MusicalCrime, Film-Noir, SportFilm-Noir, MysterySci-Fi, MusicDrama, Sci-Fi, HorrorDocumentary, Short, MusicDrama, Adventure, FamilyHorror, Sci-Fi, MysteryHistory, SportHorror, WesternFamily, Mystery, RomanceAdventure, Comedy, ThrillerDocumentary, Comedy, Reality-TVRomance, War, WesternShort, Fantasy, MysteryShort, Action, FantasyComedy, Fantasy, MusicalAdventure, Sci-Fi, WesternComedy, Family, AnimationComedy, War, DramaWestern, DramaAdventure, Drama, SportBiography, Crime, HistoryCrime, History, HorrorAdventure, Crime, HorrorComedy, Family, HorrorRomance, Sci-Fi, ThrillerAction, Thriller, CrimeAnimation, DocumentaryAction, Drama, ComedyFantasy, Horror, MusicalDocumentary, Animation, NewsFamily, Musical, RomanceMusic, News, Reality-TVDocumentary, Family, WesternHorror, Comedy, Sci-FiCrime, Musical, RomanceShort, Drama, HorrorComedy, Romance, MusicAction, Biography, HistoryDrama, Thriller, CrimeAction, Horror, DramaAction, Biography, ComedyFantasy, WesternDocumentary, Music, ThrillerDrama, Family, RomanceDocumentary, Crime, ThrillerAction, Fantasy, WesternShort, Horror, Sci-FiAdventure, Family, MysteryAnimation, Adventure, MusicalMystery, ComedyComedy, Music, Sci-FiDocumentary, Drama, HistoryDrama, Film-Noir, MusicDocumentary, Crime, WarComedy, Sci-Fi, ThrillerRomance, Comedy, MysteryAdventure, Fantasy, ThrillerAnimation, Short, Sci-FiDrama, Sci-Fi, SportShort, Comedy, WesternDrama, Crime, ThrillerCrime, History, MysteryDocumentary, Mystery, Sci-FiAdventure, Action, DramaAdventure, Action, ThrillerSci-Fi, Drama, ThrillerMusic, Mystery, RomanceComedy, Documentary, MusicHorror, Thriller, CrimeCrime, Family, MysteryBiography, Comedy, MusicAdventure, Romance, WarAnimation, Comedy, MusicalFamily, Sci-Fi, ComedyMusical, Action, CrimeAdventure, Thriller, DramaAnimation, Short, MusicShort, Crime, DramaCrime, Mystery, HorrorDocumentary, Family, MusicDocumentary, Music, SportSport, WesternFantasy, ComedyThriller, ComedyAction, Film-Noir, MysteryAction, ShortAction, Horror, RomanceDocumentary, Adventure, Sci-FiShort, Comedy, MusicDocumentary, Romance, WarDocumentary, Animation, CrimeComedy, Thriller, ActionRomance, War, DramaShort, Drama, Sci-FiThriller, Drama, MysteryDrama, Sci-Fi, CrimeAnimation, HorrorHorror, ShortAdventure, Action, CrimeShort, Action, RomanceAnimation, Drama, HorrorHorror, Music, Sci-FiAdventure, Mystery, ThrillerFamily, AnimationBiography, Crime, ThrillerAction, Crime, HistoryFamily, MusicalBiography, HistoryCrime, Drama, ComedyAction, Drama, AdventureAction, Horror, WarDocumentary, Animation, MysteryDocumentary, Adventure, WarShort, Action, DramaAnimation, Family, SportRomance, SportAdventure, Romance, Sci-FiDocumentary, Music, RomanceMystery, DramaDrama, Family, ThrillerComedy, Film-Noir, MysteryDocumentary, Adventure, ComedyAdventure, Crime, ActionMystery, ActionAction, Thriller, DramaCrime, Comedy, FantasyDrama, Action, HorrorDocumentary, Adventure, FamilyShort, Comedy, Sci-FiMusic, Romance, Sci-FiDrama, Family, MysteryShort, Drama, MysteryAction, Thriller, AdventureFantasy, MysteryComedy, Family, WarCrime, Comedy, DramaAdventure, Comedy, Film-NoirFamily, AdventureBiography, Romance, WesternAction, Family, HorrorCrime, Film-NoirAnimation, Crime, MusicAction, Music, WesternMusical, ComedyDocumentary, Crime, NewsMusic, Short, SportAction, Romance, WarSci-Fi, DramaDocumentary, Biography, WesternAnimation, Drama, WarShort, Family, MusicCrime, Music, MysteryWar, Drama, ActionHistory, War, WesternDocumentary, Family, SportCrime, ShortCrime, Drama, ShortDocumentary, Biography, FantasyAnimation, Comedy, HorrorAdventure, Biography, CrimeAnimation, Comedy, RomanceAnimation, Adventure, MusicAction, Thriller, HorrorCrime, Thriller, DramaDocumentary, Short, ActionComedy, Crime, WesternDrama, War, ThrillerDocumentary, Drama, WesternFamily, Adventure, DramaComedy, Horror, WesternAnimation, Action, SportDocumentary, Crime, MusicFantasy, Romance, ThrillerAction, Mystery, WesternDrama, Crime, RomanceBiography, RomanceDrama, Musical, SportAnimation, Family, RomanceThriller, Crime, RomanceFantasy, Romance, Sci-FiAction, Crime, ComedyAdventure, Drama, Film-NoirAdventure, Music, RomanceDrama, Adventure, HorrorComedy, Musical, FantasyBiography, History, WarWar, Adventure, ComedyFantasy, Action, AdventureComedy, Drama, CrimeSci-Fi, Crime, ComedyCrime, Romance, WesternComedy, Western, ShortFamily, Mystery, FantasyAction, War, WesternAnimation, Fantasy, Sci-FiCrime, ComedyShort, Fantasy, Sci-FiWestern, ActionAction, Comedy, HistoryCrime, Drama, ActionDocumentary, Fantasy, RomanceMusic, SportCrime, Western, DramaAction, Thriller, MysteryAction, Crime, SportDocumentary, Comedy, HorrorDocumentary, News, ThrillerDocumentary, Action, MysteryFamily, Romance, Western Average Gross Income Ditribution w.r.t Genre's PairsMoviesgross_income
plotly-logomark
Out[36]:
"Plotly/Average Gross Income Ditribution w.r.t Genre's Pairs.html"

For unique Genre¶

In [37]:
plt.figure(figsize=(12,5), dpi=223)
sn.histplot(data = Genres,
            x = 'Avg_gross_income',
            #bins = 26,
            stat = 'count',
            kde = True,
            log_scale=10,
           )

# Remove boundry line,set offset at corner & trim the corner
sn.despine(offset=10, trim= False)                            

plt.xlabel("Average Gross Income", fontsize = 12)                            # Set X label         
plt.title("Average Gross Income Ditribution w.r.t Genre", fontsize = 12)     # Set title
plt.show()
In [38]:
fig =px.histogram(Genres,
                x= 'Genre',
                y= 'Avg_gross_income',
                labels={'name':'Genre'},
                #size='Avg_gross_income',
                color = 'Genre',
                color_discrete_sequence = px.colors.sequential.Darkmint,
                template='plotly_dark',
                title='<b> Average Gross Income Distribution w.r.t Genre')

fig.update_layout(autosize=True,
                  xaxis=dict(showgrid=False),
                  yaxis=dict(showgrid=False)
                 )

fig.show()
pyo.plot(fig, filename = "Plotly/Average Gross Income Distribution w.r.t Genre.html", auto_open = True)
CrimeShortRomanceNewsWesternMysterySportSci-FiGame-ShowAnimationBiographyFamilyDramaHorrorActionComedyAdventureHistoryDocumentaryFantasyWarMusicalReality-TVMusicThrillerFilm-Noir05M10M15M20M25M30M35M40M
GenreCrimeShortRomanceNewsWesternMysterySportSci-FiGame-ShowAnimationBiographyFamilyDramaHorrorActionComedyAdventureHistoryDocumentaryFantasyWarMusicalReality-TVMusicThrillerFilm-Noir Average Gross Income Distribution w.r.t GenreGenresum of Avg_gross_income
plotly-logomark
Out[38]:
'Plotly/Average Gross Income Distribution w.r.t Genre.html'

10. Which two pairs of Genre is having maximum number of movies?¶

In [39]:
df = imdb.groupby('genre', as_index=False).count().rename(columns = {'name':"Movie's Count"})[['genre',"Movie's Count"]]
df.head()
Out[39]:
genre Movie's Count
0 Action 118
1 Action, Adventure 49
2 Action, Adventure, Biography 15
3 Action, Adventure, Comedy 362
4 Action, Adventure, Crime 121
In [40]:
Genre_Pairs = {}
# Add the movie count of genre 2 pairs to Genre_Pairs
for i  in range(df.shape[0]):
    l = df['genre'][i].replace(',',' ').split()
    if len(l)==2:
        Genre_Pairs[df['genre'][i]] = df["Movie's Count"][i]
        #print(df['genre'][i],'-->',df["Movie's Count"][i])

# Create Dataframe from Genre_Pairs dictionary key and values
Genre_2Pairs = pd.DataFrame(list(zip(Genre_Pairs.keys(), Genre_Pairs.values())),columns =['Genre 2 Pairs','Movies_Counts'])
In [41]:
Genre_2Pairs.sort_values('Movies_Counts', ascending=False).head()
Out[41]:
Genre 2 Pairs Movies_Counts
58 Crime, Drama 466
94 Drama, Thriller 425
122 Horror, Thriller 328
39 Biography, Drama 272
95 Drama, War 269
  • Crime & Drame have the maximum movies counts of 466 movies.

Top two Genre pairs Group w.r.t to Movies count¶

In [42]:
df = imdb.groupby('genre', as_index=False).count().rename(columns = {'name':"Movie's Count"})[['genre',"Movie's Count"]]
df.sort_values("Movie's Count", ascending=False).head(2)
Out[42]:
genre Movie's Count
43 Action, Crime, Drama 741
456 Crime, Drama, Thriller 527

Top two Genre w.r.t to Movies count¶

In [43]:
Genres.sort_values('Movies_Counts', ascending=False)[['Genre','Movies_Counts']].head(2)
Out[43]:
Genre Movies_Counts
12 Drama 9928
14 Action 5508